package com.billing.model.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.billing.model.entity.TAttendance;

public interface AttendanceBeanMapper {

	
	/**
	 * 获取考勤列表信息
	 * @param name 员工名称
	 * @param dept 部门名称
	 * @param starttime 起始时间
	 * @param endtime 结束时间
	 * @param currentPage 
	 * @param pageSize
	 * @return
	 */
	public List<TAttendance> selectTAttendanceList(@Param("name")String name,@Param("dept")String dept,
			@Param("starttime")Long starttime,@Param("endtime")Long endtime,@Param("jobnumber")String jobnumber,
			@Param("organizationid")int organizationid,@Param("currentPage")int currentPage,@Param("pageSize")int pageSize);
	
	/**
	 * 获取考勤列表条数信息
	 * @param name 员工名称
	 * @param dept 部门名称
	 * @param starttime 起始时间
	 * @param endtime 结束时间
	 * @param currentPage 
	 * @param pageSize
	 * @return
	 */
	public int selectTAttendanceNum(@Param("name")String name,@Param("dept")String dept,
			@Param("starttime")Long starttime,@Param("endtime")Long endtime,@Param("jobnumber")String jobnumber,
			@Param("organizationid")int organizationid);
	
	/**
	 * 根据员工id获取信息
	 * @param name
	 * @return
	 */
	public List<TAttendance> selectTAttendanceListName(@Param("id")Integer id,@Param("starttime")Long starttime,
			@Param("endtime")Long endtime);
	
	/**
	 * 根据员工id获取信息
	 * @param name
	 * @return
	 */
	public List<TAttendance> selectTAttendanceListIdLimit(@Param("id")Integer id,@Param("starttime")Long starttime,
			@Param("endtime")Long endtime);
	/**
	 * 根据ID获取信息
	 * @param name
	 * @return
	 */
	public TAttendance selectTAttendanceId(@Param("id")String id);
	
	/**
	 * 修改考勤记录信息
	 * @param attendance
	 * @return
	 */
	public int updateTAttendance(TAttendance attendance);
	
	/**
	 * 新增考勤记录信息
	 * @param attendance
	 * @return
	 */
	public int insertTAttendance(TAttendance attendance);
	
	/**
	 * 根据员工id获取信息
	 * @param name
	 * @return
	 */
	public TAttendance selectTAttendanceById(@Param("id")Integer id,@Param("starttime")Long starttime,
			@Param("endtime")Long endtime);
	
	/**
	 * 根据用户ID获取迟到信息
	 * @param id
	 * @return
	 */
	public List<TAttendance> getTAttendanceLatetimeList(@Param("id")Integer id,@Param("starttime")long starttime,
			@Param("endtime")long endtime);
}
